With low-cost computers and microprocessor units now available as relatively inexpensive system building-blocks, a large number of different control systems utilizing such microprocessors or computers have been developed. The applications of microprocessor controlled systems are practically limitless, since the flexibility which is afforded by the use of microprocessors through various types of software programming makes control systems using microprocessors as the heart of such systems highly attractive. For example, microprocessor controlled systems are utilized in industry for preprogrammed control of the operation of large automated or semi-automated assembly lines and the various machines used in conjunction with those assembly lines. Other applications include the use of microprocessor controlled systems for automatic fuel transfer or bulk terminal systems, where the microprocessor controls the turning on and off of valves used to control the storage of fuel, the transfer of fuel within the system, and the delivery of fuel from the system. In addition to these functions, the microprocessor controls other input/output devices to record the data necessary to monitor the operation and to provide automatic billing and accounting options and the like.
When such automated systems are working properly, they constitute a highly desirable substitute for the manual systems which they supplant. When something goes wrong with the operation of an automated system, however, serious problems can arise; so that it is necessary to build safeguards into the system against failure of the system to operate properly.
In the case of a microprocessor controlled system, one area in which such a system is susceptible to faulty operation is in the failure of the power supply to the microprocessor. This can be caused by an absolute complete interruption of power or by what has been frequently termed as a "brown-out" or other momentary power fluctuation. Whenever the power supplied to a microprocessor drops below some predetermined minimum level, the operation of a microprocessor no longer is reliable; and erratic, nonprogrammed, operations may result.
In a microprocessor controlled bulk terminal system, it is possible that erratic microprocessor operation could result in the turning on or leaving on of valves which otherwise should be turned off and which could result in dangerous spillage of fuel or other flammable materials. In addition, failure to turn on or turn off pump motors because of faulty operation of the microprocessor could also result in catastrophic failure of various electrical/mechanical components of the bulk terminal system. As a consequence, it is necessary whenever a microprocessor control unit is used in a bulk terminal system, or other automated or semi-automated control system, to monitor the input power voltage level and cause the system to shutdown if a power failure, temporary or semi-permanent, should occur. Generally such systems merely shutdown the system or place it in a "reset" mode of operation, aborting the program in process, whenever a power failure occurs.
Accordingly, it is desirable to provide a monitoring system for use with a microprocessor controlled control system which provides an orderly shutdown of the control system and the input/output devices employed with it in the event of a power failure. This shutdown ideally should first freeze the operating program at the point where it is interrupted and then electrically shutdown the microprocessor and peripheral equipment until power is resumed. In addition, it is desirable to provide a monitoring system with the capability of continuously monitoring the operation of the software program of the microprocessor to insure that the program is properly operating and to effect a shutdown of the system in the event that improper software program operation is taking place, irrespective of whether or not a power failure has occurred.